package mango.web.client.admin;

import java.util.List;
import java.util.Map;

import mango.web.client.C;

import com.google.gwt.user.client.rpc.AsyncCallback;

public interface AdminViewIAsync {
	public void view(AsyncCallback<C> callback) throws IllegalArgumentException;

	public void viewMember(String memberId, AsyncCallback<MemberVo> callback) throws IllegalArgumentException;

	public void viewMemberSearch(AdminSearchVo adminSearchVo, AsyncCallback<MemberVo> callback) throws IllegalArgumentException;

	public void viewMemberSaveMail(MemberVo memberVo, AsyncCallback<MemberVo> callback) throws IllegalArgumentException;

	public void viewMemberSave(MemberVo memberVo, AsyncCallback<MemberVo> callback) throws IllegalArgumentException;

	public void viewMemberAdd(MemberVo memberVo, AsyncCallback<MemberVo> callback) throws IllegalArgumentException;

	public void viewMemberRemove(MemberVo memberVo, AsyncCallback<MemberVo> callback) throws IllegalArgumentException;

	public void viewMemberActive(MemberVo memberVo, AsyncCallback<MemberVo> callback) throws IllegalArgumentException;

	public void viewContactAdd(MemberVo memberVo, AsyncCallback<MemberVo> callback) throws IllegalArgumentException;

	public void viewContactRemove(MemberVo memberVo, String contactId, AsyncCallback<MemberVo> callback) throws IllegalArgumentException;

	public void viewContactActive(MemberVo memberVo, String contactId, AsyncCallback<MemberVo> callback) throws IllegalArgumentException;

	public void viewOrchardAdd(MemberVo memberVo, AsyncCallback<MemberVo> callback) throws IllegalArgumentException;

	public void viewOrchardRemove(MemberVo memberVo, String orchardId, AsyncCallback<MemberVo> callback) throws IllegalArgumentException;

	public void viewOrchardActive(MemberVo memberVo, String orchardId, AsyncCallback<MemberVo> callback) throws IllegalArgumentException;

	public void viewTreeAdd(MemberVo memberVo, Integer orchardId, AsyncCallback<MemberVo> callback) throws IllegalArgumentException;

	public void viewTreeRemove(MemberVo memberVo, Integer treeId, AsyncCallback<MemberVo> callback) throws IllegalArgumentException;

	public void viewVariety(AsyncCallback<List<VarietyVo>> callback) throws IllegalArgumentException;

	public void viewVarietySave(List<VarietyVo> varietyList, AsyncCallback<List<VarietyVo>> callback) throws IllegalArgumentException;

	public void viewVarietyAdd(AsyncCallback<List<VarietyVo>> callback) throws IllegalArgumentException;

	public void viewVarietyRemove(Integer varietyId, AsyncCallback<List<VarietyVo>> callback) throws IllegalArgumentException;

	public void viewRegion(AsyncCallback<List<RegionVo>> callback) throws IllegalArgumentException;

	public void viewRegionSave(List<RegionVo> regionList, AsyncCallback<List<RegionVo>> callback) throws IllegalArgumentException;

	public void viewRegionAdd(AsyncCallback<List<RegionVo>> callback) throws IllegalArgumentException;

	public void viewRegionRemove(Integer regionId, AsyncCallback<List<RegionVo>> callback) throws IllegalArgumentException;

	public void viewFlowerSave(String memberId, List<FlowerVo> flowerList, AsyncCallback<List<FlowerVo>> callback) throws IllegalArgumentException;

	public void viewFlowerChart(List<String> regionIdList, AsyncCallback<Map<String, Map<String, FlowerChartVo>>> callback) throws IllegalArgumentException;

	public void viewMemberPropertyVo(AsyncCallback<MemberPropertyVo> callback) throws IllegalArgumentException;

	public void saveMemberPropertyVo(MemberPropertyVo memberPropertyVo, AsyncCallback<MemberPropertyVo> callback) throws IllegalArgumentException;

	public void viewEmailVoSend(EmailVo emailVo, int emailIndex, int smsIndex, AsyncCallback<EmailVo> callback) throws IllegalArgumentException;

	public void viewEmailVoList(AsyncCallback<List<EmailVo>> callback) throws IllegalArgumentException;

	public void viewEmailVoListReloadFull(List<String> memberIdList, AsyncCallback<List<EmailVo>> callback) throws IllegalArgumentException;
	
	public void viewEmailVoListReload(String type, AsyncCallback<List<EmailVo>> callback) throws IllegalArgumentException;

	public void viewLookupTSave(List<LookupTVo> lookupTList, AsyncCallback<List<LookupTVo>> callback) throws IllegalArgumentException;

	public void viewTemperatureSave(TemperatureUrlVo temperatureUrlVo, AsyncCallback<String> callback) throws IllegalArgumentException;

	public void viewEmailContentVoListSave(List<EmailContentVo> emailContentList, AsyncCallback<List<EmailContentVo>> callback) throws IllegalArgumentException;

	public void viewSmsContentVoListSave(List<SmsContentVo> smsContentList, AsyncCallback<List<SmsContentVo>> callback) throws IllegalArgumentException;

	/////////////////////////////////////////
	public void sendSMS(String number, String msg, AsyncCallback<String> callback) throws IllegalArgumentException;
	
	public void login(String username, String password, AsyncCallback<LoginVo> callback) throws IllegalArgumentException;
	
	public void viewMemberExport(List<String> memberIdList, AsyncCallback<String> callback) throws IllegalArgumentException;
}
